package com.ctshk.rpc.hotel.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

@Data
@ApiModel(value="HotelProductStrategyReq对象", description="酒店加幅策略")
public class HotelProductStrategyReq implements Serializable {

    private Long id;

    @NotNull(message = "加幅策略名称不能为空")
    @ApiModelProperty(value = "加幅策略名称")
    private String increaseStrategyName;

    @NotNull(message = "酒店产品ID不能为空")
    @ApiModelProperty(value = "酒店产品id")
    private Long busProductId;

    @ApiModelProperty(value = "自营权限规则id")
    private Long selfSalePermissionId;

    @NotNull(message = "自营权限类型不能为空")
    @ApiModelProperty(value = "自营权限类型")
    private Integer selfSalePermissionType;

    @ApiModelProperty(value = "代理商权限规则id")
    private Long agentSalePermissionId;

    @NotNull(message = "代理商权限类型不能为空")
    @ApiModelProperty(value = "代理商权限类型")
    private Integer agentSalePermissionType;

    @ApiModelProperty(value = "加幅规则自营")
    private HotelProductIncreaseStrategyRuleReq hotelProductIncreaseStrategySelfRule;

    @ApiModelProperty(value = "加幅规则代理")
    private HotelProductIncreaseStrategyRuleReq hotelProductIncreaseStrategyAgentRule;

    @ApiModelProperty(value = "酒店产品加幅策略有效期集合")
    private List<HotelProductStrategyDateReq> hotelProductStrategyDateReqList;

    @ApiModelProperty(value = "线下代理商自定义用户部门设置集合")
    private List<HotelProductChannelOfflineAgentCustomReq> hotelProductChannelOfflineAgentCustomReqList;

    @ApiModelProperty(value = "线下自营自定义用户部门集合")
    private List<HotelProductChannelOfflineSelfCustomReq> hotelProductChannelOfflineSelfCustomReqList;

    @ApiModelProperty(value = "线上渠道自定义权限集合")
    private List<HotelProductChannelOnlineSelfPlatformReq> hotelProductChannelOnlineSelfPlatformReqList;

    @ApiModelProperty(value = "线上渠道第三方平台集合")
    private List<HotelProductChannelOnlineThirdPlatformReq> hotelProductChannelOnlineThirdPlatformReqList;
}
